/**
 * 
 */
package com.wgo.bpot.common.transport.servicefacade;


import com.wgo.bpot.common.transport.exception.db.DatabaseException;

/**
 * @author petterei
 * @version $Id: LightService.java,v 1.2 2006-01-25 14:44:59 oranvik Exp $
 */
public interface LightService {

	/**
	 * Used to verify that clients are compatible with the server.
	 * 
	 * @return A list of compatible client versions.
	 */
	public String[] retrieveClientVersions();
	
	/**
	 * Iniatializes the database. Old content will be deleted.
	 * 
	 * @throws RematoException
	 * @throws DatabaseException
	 */
	public void createDbSchema(Class rootConceptClass) throws DatabaseException;
	
	public <T extends Object> T retrieveCompletePersistent(Class<T> facadeClass, Long identifier, int linkDepth);

	public Object retrieveRootSystem(int linkDepth,Class rootSystemClass);
	
    public Object[] save(DispatchedModifyingMethodsTransport[] conceptsAndDispatchableMethods) ;

}
